home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Hackers Underworld 2: Forbidden Knowledge
/
Hackers Underworld 2: Forbidden Knowledge.iso
/
HACKING
/
CRACKIST.TXT
< prev
next >
Wrap
Text File
|
1994-07-17
|
63KB
|
1,698 lines
VOL 1 NUM 1
The Amatuer Crackist Tutorial
Version 1.3
By
Specular Vision
Special Thanks to:
Mr. Transistor
Ironman
The Grand Elusion
Banzai Buckaroo
Another fine PTL Production
Call The Myth Inc. BBS
Table of Contents:
------------------ (Page Numbers will be aprox. until
final version is finished)
i. Table of Contents 2
ii. Introduction 3
I. How to Crack 4
Debugging DOS 4
Cracking on the IBM PC Part 1 7
Cracking on the IBM PC Part 2 11
II. Example Cracks 14
Mean-18 by Accolade 14
Submarine by Eypx 18
Space Station Oblivion by Eypx 22
III. Removing Doc Check Questions 23
F-15 Strike Eagle by MicroProse 23
Battlehawks 1945 by Lucasfilms 25
Yeager's AFT by Electronic Arts 26
IV. Cracking Self Booters 27
Disk Basics
Victory Road by Data East 27
MS-Flight Simulator (Ver 2.x) 30
V. Creating Title Screens 33
VI. Appendix 35
A - Interrupt Tables 36
(This will be an add-on file)
2
Introduction:
-------------
Due to the current lack of Crackers, and also keeping in mind
the time it took me to learn the basics of cracking, I de-
cided to put this tutorial together. I will include many
files which I have found helpful in my many cracking endeav-
ors. It also has comments that I have included to make it
easier to understand.
Comments Key:
-------------
Comments in the following material will be made by one of the
following and the lines that enclose the comments show who
made the comment.
Specular Vision = -------------
Mr. Transistor = +++++++++++++
Ironman = |||||||||||||
Special thanks to Mr. Transistor, for coming out of "Retire-
ment" to help compose this document.
3
Chapter I How to Crack
-------------------------------------------------------------
Let's start with a simple introduction to patching a program
using the DOS DEBUG program. The following article will in-
troduce you to the basic ideas and concepts of looking for a
certain area of a program and making a patch to it.
-------------------------------------------------------------
By: Charles Petzold / Specular Vision
Title: Case Study: A Colorful CLS
This article originally appeared in the Oct. 14,1986 Issue
of PC Magazine (Vol 15. Num 17.). Written by Charles Petzold.
The hardest part of patching existing programs is determin-
ing where the patch should go. You really have to make an
intelligent guess about the functioning of the program.
As an example, let's attempt to modify COMMAND.COM so that
is colors the screen on a CLS command. As with any type of
patch try it out on a copy and NOT the original.
First, think about what we should look for. CLS is differ-
ent from all the other DOS internal Commands, It is the only
internal command that does something to the screen other than
just write to it with simple teletype output. CLS blanks the
screen and homes the cursor. Since it can't do this through
DOS Calls (unless ANSI.SYS is loaded), it is probably calling
the BIOS Directly. The BIOS Interrupt 10h call controls the
video, and so the CLS command probably uses several INT 10h
instructions. The machine code for INT 10h is CD 10.
(While this same method will work under any version of
PC-DOS, Version 2.0 and later, the addresses I'll be using
are from PC-DOS 3.1. Other versions of PC-DOS(or MS-DOS) will
have different addresses; you should be absolutely certain
that you're using the correct addresses.)
Load COMMAND.COM into DEBUG:
DEBUG COMMAND.COM
and do an R (Registers) command. The size of COMMAND.COM is
in register CX. For DOS 3.1's COMMAND.COM, this value is
5AAA.
Now do Search command to look for the CD 10 bytes:
S 100 L 5AAA CD 10
You'll get a list of six addresses, all clustered close to-
4
gether. The first one is 261D. You can now pick an address a
little before that (to see what the first call is doing) and
start disassembling:
U 261B
The first INT 10 has AH set to 0F which is a Current Video
State call. The code checks if the returned value of AL
(Which is the video mode) is less than 3 or equal to 7.
These are the text modes. If so, it branches to 262C. If
not, it just resets the video mode with another INT 10 at ad-
dress 2629.
At 262C, the code first sets the border black (the INT 10
at 2630), then does another Current Video State call (at
2634) to get the screen width in register AH. It uses infor-
mation from this call to set DX equal to the bottom right row
and column. It then clears the screen by scrolling the en-
tire screen up with another INT 10 (at 2645), and then sets
the cursor to the zeroth row and zeroth column with the final
INT 10 (at 264D).
When it scrolls the whole screen, the zero value in AL ac-
tually means blank the screen, the value of BH is the at-
tribute to be used on the blanked area. In an unmodified
COMMAND.COM, BH is set to 7 (Which is white on black) by the
following statement at address 2640:
MOV BX,0700
If you prefer a yellow-on-blue attribute (1E), you can
change this line by going into Assemble mode by entering:
A
then entering
MOV BX,1E00
and exiting Assemble mode by entering a blank line.
Now you can save the modified file:
W
and quit DEBUG:
Q
When you load the new version of COMMAND.COM (and you can
do so without rebooting by just entering:
COMMAND
5
on the DOS command level), a CLS will turn the screen blue
and display characters as yellow.
If it doesn't or if anything you type shows up as white on
black, that probably means you have ANSI.SYS loaded. If you
use ANSI.SYS, you don't have to make this patch but can in-
stead use the prompt command for coloring the screen.
END.